package com.atguigu.gmall.product.service;

import com.atguigu.gmall.product.model.SpuImage;
import com.atguigu.gmall.product.model.SpuInfo;
import com.atguigu.gmall.product.model.SpuPoster;
import com.atguigu.gmall.product.model.SpuSaleAttr;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;
import java.util.Map;

/**
 * @author XIN
 * 2023/4/20
 */
public interface SpuManagerService {
	/**
	 * spu分页列表
	 * @param category3Id
	 * @return
	 */
	IPage<SpuInfo> getPageSize(IPage<SpuInfo> iPage, Long category3Id);
	/**
	 * 保存spu
	 * @param spuInfo
	 * @return
	 */
	void saveSpuInfo(SpuInfo spuInfo);
	/**
	 * 根据spuId 查询销售属性
	 * @param spuId
	 * @return
	 */
	List<SpuSaleAttr> spuSaleAttrList(Long spuId);
	/**
	 * 根据商品SpuID查询当前商品所有图片
	 * @param spuId
	 * @return
	 */
	List<SpuImage> spuImageList(Long spuId);
	/**
	 * 根据spuId 获取海报数据
	 * @param spuId
	 * @return
	 */
	List<SpuPoster> getSpuPosterBySpuId(Long spuId);
	/**
	 * 根据spuId,skuId 获取销售属性数据
	 * @param skuId
	 * @param spuId
	 * @return
	 */
	List<SpuSaleAttr> getSpuSaleAttrListCheckBySku(Long skuId, Long spuId);
	/**
	 * 查询每个商品SKU 销售属性 跟 SKUID 对照关系
	 *
	 * @param spuId
	 * @return {"3732|3734":24,"3732|3735":25}
	 */
	Map<String, String> getSkuValueIdsMap(Long spuId);
}
